﻿/*
Commerce by Onex – eCommerce software platform (www.ecommerce.byonex.com)
Copyright (C) 2008-2010 by Onex Group

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
 */
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ShopModel;
using ShopBLL;

public partial class controls_ctrlProductsToCompare : System.Web.UI.UserControl
{
    #region VARIABLES

    List<Products> ProductsToCompare;
    List<int> ids;
    private bool _BindControl;

    #endregion VARIABLES

    #region PROPERTIES

    public bool BindControl
    {
        get { return _BindControl; }
        set { _BindControl = value; }
    }

    #endregion PROPERTIES
   
    #region METHODS

    public void ProductsBind()
    {
        ProductsToCompare = new List<Products>();
        ids = Session["ProductsToCompare"] != null ? (List<int>)Session["ProductsToCompare"] : new List<int>();
        foreach (int id in ids)
        {
            Products p = ProductsManager.Instance.GetProduct(id, ShopBLL.CommonTools.CurrentLanguageID);
            ProductsToCompare.Add(p);
        }
        rptProducts.DataSource = ProductsToCompare;
        rptProducts.DataBind();
        if (ids == null || ids.Count == 0) { lEmpty.Text = Resources.Language.LackOfProductsToCompare; }
        else { lEmpty.Text = string.Empty; }
        upProductsToCompare.Update();
    }

    #endregion METHODS

    #region EVENTS

    protected void RemoveFromComparsion(object sender, CommandEventArgs e)
    {
        ids.Remove(Convert.ToInt32(e.CommandArgument));
        if (ids.Count > 0)
        {
            Session["ProductsToCompare"] = ids;
        }
        else
        {
            Session["ProductsToCompare"] = null;
        }
        if (ids == null || ids.Count == 0) { lEmpty.Text = Resources.Language.LackOfProductsToCompare; }
        ProductsBind();
    }

    #endregion EVENTS

    #region PAGE EVENTS

    protected void Page_Load(object sender, EventArgs e)
    {
        if (_BindControl)
            ProductsBind();
    }

    #endregion PAGE EVENTS
}
